home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / gfx / 3d / irit50src.lha / irit5 / irit / objects.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-17  |  3.3 KB  |  73 lines

  1. /*****************************************************************************
  2. *   "Irit" - the 3d (not only polygonal) solid modeller.             *
  3. *                                         *
  4. * Written by:  Gershon Elber                Ver 0.2, Mar. 1990   *
  5. ******************************************************************************
  6. *   General, visible to others, definitions of Objects module.             *
  7. *****************************************************************************/
  8.  
  9. /*****************************************************************************
  10. *   Prototype for visible function in the Objects module.             *
  11. *****************************************************************************/
  12.  
  13. #ifndef    OBJECTS_H
  14. #define    OBJECTS_H
  15.  
  16. void SetUpPredefObjects(void);
  17. void SetObjectAttrib(IPObjectStruct *PObj, char *Name, IPObjectStruct *Data);
  18. void RemoveObjectAttrib(IPObjectStruct *PObj, char *Name);
  19. void SetDumpLevel(int DumpLvl);
  20. double ThisObjectIs(char *Name);
  21. void IritObjectPrintfStdout(char *CtlStr, IPObjectStruct *PObjLst);
  22. void IritObjectPrintf(FILE *File, char *CtlStr, IPObjectStruct *PObjLst);
  23. double GetObjectSize(IPObjectStruct *ListObj);
  24. double GetMeshSize(IPObjectStruct *ListObj, RealType *RDir);
  25. IPObjectStruct *GetNilList(void);
  26. IPObjectStruct *GetNthList(IPObjectStruct *ListObj, RealType *Rn);
  27. IPObjectStruct *AppendLists(IPObjectStruct *ListObj1,
  28.                 IPObjectStruct *ListObj2);
  29. IPObjectStruct *ReverseListObj(IPObjectStruct *ListObj);
  30. void SnocList(IPObjectStruct *PObj, IPObjectStruct *ListObj);
  31. IPObjectStruct *GetObject(char *ObjName);
  32. IPObjectStruct *GetObjectCoord(IPObjectStruct *PObj, RealType *RIndex);
  33. void FreeObject(IPObjectStruct *PObj);
  34. void DeleteObject(IPObjectStruct *PObj, int Free);
  35. void InsertObject(IPObjectStruct *PObj);
  36. void PrintObject(IPObjectStruct *PObj);
  37. char *GetObjectTypeAsString(IPObjectStruct *PObj);
  38. void PrintObjectList(IPObjectStruct *PObj);
  39. IPObjectStruct *CoerceObjectTo(IPObjectStruct *PObj, RealType *RNewType);
  40. void SaveObjectInFile(char *FileName, IPObjectStruct *PObj);
  41. IPObjectStruct *LoadObjectFromFile(char *FileName);
  42. int LoadSaveObjectParseError(char **ErrorMsg);
  43. IPObjectStruct *GenMatObjectGeneric(IPObjectStruct *LstObjList);
  44.  
  45. IPObjectStruct *GenBOXObject(VectorType Pt,
  46.                  RealType *WidthX,
  47.                  RealType *WidthY, RealType *WidthZ);
  48. IPObjectStruct *GenGBOXObject(VectorType Pt,
  49.                   VectorType Dir1,
  50.                   VectorType Dir2,
  51.                   VectorType Dir3);
  52. IPObjectStruct *GenCONEObject(VectorType Pt, VectorType Dir, RealType *R);
  53. IPObjectStruct *GenCONE2Object(VectorType Pt,
  54.                    VectorType Dir,
  55.                    RealType *R1,
  56.                    RealType *R2);
  57. IPObjectStruct *GenCYLINObject(VectorType Pt, VectorType Dir, RealType *R);
  58. IPObjectStruct *GenSPHEREObject(VectorType Center, RealType *R);
  59. IPObjectStruct *GenTORUSObject(VectorType Center,
  60.                    VectorType Normal,
  61.                    RealType *Rmajor,
  62.                    RealType *Rminor);
  63. IPObjectStruct *GenPOLYDISKObject(VectorType N, VectorType T, RealType *R);
  64. IPObjectStruct *GenPOLYGONObject(IPObjectStruct *PObjList,
  65.                  RealType * RIsPolyline);
  66. IPObjectStruct *GenObjectFromPolyList(IPObjectStruct *PObjList);
  67. IPObjectStruct *GenCROSSECObject(IPObjectStruct *PObj);
  68. IPObjectStruct *GenSURFREVObject(IPObjectStruct *Cross);
  69. IPObjectStruct *GenEXTRUDEObject(IPObjectStruct *Cross, VectorType Dir);
  70.  
  71. #endif    /* OBJECTS_H */
  72.  
  73.